package pile.pay.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
 * <p>
 * 电桩管理表
 * </p>
 *
 * @author 郭天义
 * @since 2024-06-28
 */
@Getter
@Setter
@TableName("sys_electricpile")
@ApiModel(value = "Electricpile对象", description = "电桩管理表")
public class Electricpile implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("电桩id")
    @TableId(value = "electricpile_id", type = IdType.AUTO)
    private Integer electricpileId;

    @ApiModelProperty("充电枪id")
    private Integer connectorId;

    @ApiModelProperty("电站管理id")
    private Integer stationId;

    @ApiModelProperty("归属电站")
    private String stationName;

    @ApiModelProperty("电桩品牌1公牛2其他")
    private Integer brandName;

    @ApiModelProperty("电桩型号")
    private String brandModel;

    @ApiModelProperty("版本号")
    private String versionNumber;

    @ApiModelProperty("在线状态1在线2离线")
    private Integer status;

    @ApiModelProperty("通讯模块类别1联通、移动2G，2联通、移动2G3G，3联通、移动、电信2G3G4G，4联通、移动、电信2G3G，5联通、移动2G3G4G，6联通、移动2G3G4G电信，7联通、移动2G3G电信2，8联通、移动、电信2G")
    private Integer communicationTypes;

    @ApiModelProperty("充电模块品牌型号")
    private String chargingModuleBrandId;

    @ApiModelProperty("归属运营商")
    private String operatorName;

    @ApiModelProperty("通讯运营商1电信2移动3联通4未知")
    private Integer communicationType;

    @ApiModelProperty("创建人")
    private String creater;

    @ApiModelProperty("品牌型号")
    private String equipBrandName;

    @ApiModelProperty("电桩编码")
    private String equipmentCode;

    @ApiModelProperty("电桩国标0新国标1老国标")
    private Integer equipmentInternational;

    @ApiModelProperty("电桩程序")
    private String equipmentProgram;

    @ApiModelProperty("电桩屏幕品牌")
    private String equipmentScreenBrandId;

    @ApiModelProperty("电桩名称")
    private String equipmentName;

    @ApiModelProperty("是否支持预约，1支持2不支持")
    private Integer isReserve;

    @ApiModelProperty("有无SIM0有1无")
    private Integer hasSim;

    @ApiModelProperty("保险品牌")
    private String insuranceBrand;

    @ApiModelProperty("保险单号")
    private Integer insuranceId;

    @ApiModelProperty("充电桩功率")
    private String power;

    @ApiModelProperty("保险到期时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date insuranceOverdueTime;

    @ApiModelProperty("保单图片")
    private String insurancePic;

    @ApiModelProperty("模块质保时间1一年2两年3三年4四年5五年6六年7七年8八年9九年10十年")
    private Integer moduleWarrantyTime;

    @ApiModelProperty("运营状态1新建2运营中3暂停运营")
    private Integer operatorStatus;

    @ApiModelProperty("价格类型0按电站定价1单独定价")
    private Integer priceType;

    @ApiModelProperty("修改人")
    private String updater;

    @ApiModelProperty("保修时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date warrantyTime;

    @ApiModelProperty("电站地址")
    private String address;

    @ApiModelProperty("额定电流")
    private Integer ratedCurrent;

    @ApiModelProperty("最大功率")
    private Integer maxPower;

    @ApiModelProperty("充电枪线品牌型号")
    private String chargingGunBrandId;

    @ApiModelProperty("最大额定电压")
    private Integer maxRatedVoltage;

    @ApiModelProperty("最小额定电压")
    private Integer minRatedVoltage;

    @ApiModelProperty("省")
    private String province;

    @ApiModelProperty("市")
    private String city;

    @ApiModelProperty("区")
    private String area;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("充电类型，1快充、2慢充")
    private Integer chargingType;

    @ApiModelProperty("电桩类型1四轮车 2二轮车")
    private Integer type;

    @ApiModelProperty("心跳包时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date heartbeatTime;

    @ApiModelProperty("程序版本")
    private String programVersion;

    @ApiModelProperty("是否删除，1是0否")
    @TableLogic
    private Integer isDelete;

    @ApiModelProperty("添加时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("删除时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date deleteTime;

    @ApiModelProperty("乐观锁")
    @Version
    private Integer version;

    @ApiModelProperty("设备开通时间")
    private String openDate;

    @ApiModelProperty("设备投资金额")
    private BigDecimal equipmentInvestment;

    @ApiModelProperty("出厂的序列号")
    private String productSn;

    @ApiModelProperty("设备生产商组织机构代码")
    private String manufacturerId;

    @ApiModelProperty("设备生产商名称")
    private String manufacturerName;

    @ApiModelProperty("设备型号")
    private String equipmentModel;

    @ApiModelProperty("设备生产日期")
    private String productionDate;


}
